iT邦幫忙

2026 iThome 鐵人賽

DAY 2
0

今天來分享vaultflix的tech stack,以及一些我當時開發的經驗分享

Vaultflix: Tech Stack

基本上我整個專案就是以個人用的side project做出發,兼顧一些工作上比較不熟的技術做練習

Layer Technology 原因
前端 React 有寫過,考量到未來走M版的轉換或許會比較簡單
後端 GO 想說影片網站的後端功能其實偏單純就選擇GO
DB PostgreSQL 那陣子看了很多postgreSQL有多all in one,就想試試看
持久化 MinIO 有用過,實際只拿來放縮圖
API Gateway nginx 拿來練習用

Vaultflix: 開發過程

我這邊展示當初鐵人賽的規畫表,要說明的是就算只是想做個最小MVP,我至少也要兩三天以上的時間,但有了AI(claude code opus 4.6)後,當初才幾個小時的時間就出了第一版。

## Schedule

- 架構設計 5 天
    - 設計相關
        - 架構圖、想法揭露
        - 流程圖、用例圖
        - 架構範本
            - ORM 配置
    - 前後端串接 2 天
        - API 1 天
            - 各API文檔
        - socket 1 天
- 影片儲存空間 2 天
    - minIO架設
- 影片meta data 2 天
    - DB 架設 mysql
    - Table schema 設計
- Web Server
    - 主功能列表 3 天
        - 影片來源導入 1 天
        - 影片串流 2 天 ffmpeg, http LS, webRTC
            - 快轉、播放速度
- UI開發 6 天
    - 整體前端架構 1 天
    - 多筆瀏覽 組件 2 天
    - 單筆撥放 組件 2 天
    - 取資料 1 天
- CI/CD 5 天
    - 建置過程 github actions
    - 單元測試
    - 功能測試
    - 壓力測試 k6
    - 部屬單位 aws or google
- 次功能列表 4 天
    - 推薦影片功能 ⇒ 數據分析、AI
    - 統計觀看數據
    - 影片預覽 UI
    - 增加AI chat協助查詢相關影片資訊 OCR and LLM

Vaultflix: 歷程回顧

下面是我整個專案到目前為止 313 個 commit,大概有九個時段。

2026-04-06:第一天 78 個 commit

整個專案的誕生,我定好tech stack,我記憶中我就把整個tech stack加上功能描述,這些就是我給出去的prompt,然後整個專案都是用 superpowers 這個 plugin 來幫我約束跟開發整個規格。

2026-05-02–03:hover preview,15 個 commit

這次主要是加預覽的功能。

2026-06-14–15:11 個 commit,全部是 fix

這次是突然想到前幾次都沒做完整的code review,結果就讓AI找出不少bug。

2026-06-21–22:CI/CD 規則化

這次是看到loop engineering,開始想讓AI全權掌握開發到佈署的整個過程。

2026-06-22+06-29:UI 重設計,前台與 admin

這次因為得知claude design的強大,所以做了前台跟 admin 介面重新設計。

2026-06-28–30:auto-tagging,33 個 commit

這邊是做AI自動化幫影片打標籤,但沒做完,因為是瑟瑟的影片,評估後覺得要自部屬的模型才可行。

2026-07-05–06:觀看統計與播放遙測,49 個 commit

這次其實是回頭去找有那些沒做的可以讓我的AI閒不下來。

2026-06-30+07-21–25:HLS,42 個 commit

這次是做影片相容性。

2026-08-22–24:13 個 commit,閒置四週後回來

這次是因為要寫鐵人賽,回頭用自己的作品發現影片相容性有bug,才讓AI修好。

結尾

其實整個專案做下來,我發現我從第一天就有做的 ROADMAP.md,是我中間過程跳出去能再跳回來的關鍵,因為我自己發現,人一懶不只不會看代碼,連文件都懶得看,我會變的只想知道目前功能哪些還沒做,所以很多時候我都是靠這個檔案抓回我的記憶。

而今天也是因為鐵人賽,讓我重新回顧這專案的歷程,一個有感的點是,其實一個開發者對於專案的記憶,真的全是來自為了什麼而做,至少我自己是,以我工作上的經驗,如果我沒接手過,我不知道這是為了什麼而做,真的是很難去理解到底是為什麼要有這件事。

明天開始,我會每天以上面的一個段落去揭露我當時跟AI協作的過程,以及看我能再從中萃取出什麼我認為不錯的部分,就像今天的 ROADMAP.md 一樣。


上一篇
Day 1: Vaultflix 的前世今生
下一篇
Day 3:重新定義 Vaultflix 的目錄結構,以及放檔案前先問的六個問題
系列文
AI時代的軟體開發 - 透過個人專案探討人如何與AI更有效的協作 共 3 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言